import morgan from "morgan";
import { getIp } from "../helper/ip.js";
morgan.token("ip", (req, res) => {
  return getIp(req);
});
// 自定义 morgan 格式：IP Method URL Status Length - Response-Time ms
morgan.format("chancms", (tokens, req, res) => {
  return [
    tokens.ip(req, res), // 客户端 IP
    tokens.method(req, res), // GET/POST
    tokens.url(req, res), // 完整 URL（含 query）
    tokens.status(req, res), // 状态码（如 403）
    tokens.res(req, res, "content-length") || "-", // 响应体大小
    "-", // 占位符（原日志中的 '-'）
    tokens["response-time"](req, res),
    "ms", // 响应时间
  ].join(" ");
});
export const log = (app, logger) => {
  app.use(morgan(logger.level));
};
